package com.example.tianyidemo.controller;
import com.example.tianyidemo.pojo.EmailCode;
import com.example.tianyidemo.pojo.Result;
import com.example.tianyidemo.utils.RandomNumberGenerator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.*;
//发送邮件
@CrossOrigin(origins = "http://110.41.41.149:5000")//准许跨域请求
@RestController
public class MailDemoController {
    @Autowired
    private JavaMailSender javaMailSender;
    @Autowired
    private RandomNumberGenerator randomNumberGenerator;
    @PostMapping ("/mail")
    public Result senderMail(@RequestBody EmailCode emailCode) {
        SimpleMailMessage message = new SimpleMailMessage();
        // 发件人 你的邮箱
        message.setFrom("1330141297@qq.com");
        // 接收人 接收者邮箱
        message.setTo(emailCode.getEmail()); // 使用emailCode对象的email属性设置接收者邮箱
        //邮件标题
        message.setSubject("天易游戏论坛：" + emailCode.getEmail()); // 使用email属性设置邮件主题中的用户名部分
        //邮件内容
        int emailCodes = Integer.parseInt(randomNumberGenerator.generateRandomSixDigitNumber());
        try {
            message.setText("尊敬的用户：" + emailCode.getEmail() + "，您好，" + "您的验证码为: " + emailCodes); // 使用code属性设置邮件内容中的验证码部分
        // 添加打印输出信息
        System.out.println("发送邮件给：" + emailCode.getEmail());
        System.out.println("邮件主题：" + message.getSubject());
        System.out.println("邮件内容：" + message.getText());
        System.out.println("验证码：" +emailCodes);
        javaMailSender.send(message);
        return Result.success(emailCodes);
        } catch (MailException e) {
            // 处理发送邮件失败的情况，例如返回一个错误信息给前端
            return Result.error("错误！");
        }
    }
}
